﻿#include "ZMultiThreadTask.h"

ZFLIB_BEGIN_NAMESPACE

ZMultiThreadTask::ZMultiThreadTask(QObject *parent)
    : QObject(parent), QRunnable()
{
    // 全部不自动删除，由我们自己管理对象
    setAutoDelete(false);
}

ZMultiThreadTask::~ZMultiThreadTask()
{

}

QString ZMultiThreadTask::taskName()
{
    return metaObject()->className();
}

QString ZMultiThreadTask::toString()
{
    return QString();
}

int ZMultiThreadTask::getLastError()
{
    return 0;
}

QString ZMultiThreadTask::getLastErrorString()
{
    return "";
}

void ZMultiThreadTask::run()
{
    emit sigProgressStart(QPrivateSignal());

    doTask();

    emit sigProgressFinished(QPrivateSignal());
}

void ZMultiThreadTask::setAutoDelete(bool auto_delete)
{
    QRunnable::setAutoDelete(auto_delete);
}

ZFLIB_END_NAMESPACE
